// 登录表单
const loginForm = document.querySelector('#login-form');

// 监听表单的提交事件
loginForm.addEventListener('submit', async function (e) {
    // 阻止默认行为
    e.preventDefault();

    // 校验表单
    const data = serialize(loginForm, {
        hash: true,
        empty: true
    });

    const { username, password } = data;

    // 用户名正则表达式
    const usernameReg = /[a-zA-Z0-9]{3,15}/;
    // 密码的正则表达式
    const passwordReg = /[a-zA-Z0-9]{6,15}/;

    if (!usernameReg.test(username)) {
        toastr.error('用户名不合法，必须是3~15位的英文字母和数字组成');
        return;
    }
    if (!passwordReg.test(password)) {
        toastr.error('密码不合法，必须是6~15位的英文字母和数字组成');
        return;
    }

    // 发送登录请求
    const result = await axios({
        url: `/user/login`,
        method: 'POST',
        data: {
            username: username,
            password: password
        }
    });
    // 登录失败，显示错误信息
    if (result.code !== 0) {
        toastr.error(result.message);
    } else {
        toastr.success('登录成功');
        // 登录成功，保存Token和用户名到本地
        localStorage.setItem('token', result.data.token);
        localStorage.setItem('username', result.data.username);
        // 延时跳转到首页
        setTimeout(() => {
            location.href = 'index.html';
        }, 1500);
    }
});